package cn.zero.wechat.resp;

import com.thoughtworks.xstream.annotations.XStreamAlias;

@XStreamAlias("xml")
public class WechatPayNotify {

	private String appid;

	@XStreamAlias("mch_id")
	private String mchId;

	@XStreamAlias("device_info")
	private String deviceInfo;

	@XStreamAlias("nonce_str")
	private String nonceStr;

	private String sign;

	@XStreamAlias("sign_type")
	private String signType;

	@XStreamAlias("resultCode")
	private String resultCode;

	@XStreamAlias("err_code")
	private String errCode;

	@XStreamAlias("err_code_des")
	private String errCodeDes;

	private String openid;

	/**
	 * Y/N
	 */
	@XStreamAlias("is_subscribe")
	private String isSubscribe;

	@XStreamAlias("trade_type")
	private String tradeType;

	@XStreamAlias("bank_type")
	private String bankType;

	@XStreamAlias("total_fee")
	private int totalFee;

	@XStreamAlias("settlement_total_fee")
	private int settlementTotalFee;

	@XStreamAlias("fee_type")
	private String feeType;

	@XStreamAlias("cash_fee")
	private int cashFee;

	@XStreamAlias("cash_fee_type")
	private int cashFeeType;

	@XStreamAlias("transaction_id")
	private String transactionId;

	@XStreamAlias("out_trade_no")
	private String outTradeNo;

	private String attach;

	/**
	 * yyyyMMddHHmmsss
	 */
	@XStreamAlias("time_end")
	private String timeEnd;

	public String getAppid() {
		return appid;
	}

	public void setAppid(String appid) {
		this.appid = appid;
	}

	public String getMchId() {
		return mchId;
	}

	public void setMchId(String mchId) {
		this.mchId = mchId;
	}

	public String getDeviceInfo() {
		return deviceInfo;
	}

	public void setDeviceInfo(String deviceInfo) {
		this.deviceInfo = deviceInfo;
	}

	public String getNonceStr() {
		return nonceStr;
	}

	public void setNonceStr(String nonceStr) {
		this.nonceStr = nonceStr;
	}

	public String getSign() {
		return sign;
	}

	public void setSign(String sign) {
		this.sign = sign;
	}

	public String getSignType() {
		return signType;
	}

	public void setSignType(String signType) {
		this.signType = signType;
	}

	public String getResultCode() {
		return resultCode;
	}

	public void setResultCode(String resultCode) {
		this.resultCode = resultCode;
	}

	public String getErrCode() {
		return errCode;
	}

	public void setErrCode(String errCode) {
		this.errCode = errCode;
	}

	public String getErrCodeDes() {
		return errCodeDes;
	}

	public void setErrCodeDes(String errCodeDes) {
		this.errCodeDes = errCodeDes;
	}

	public String getOpenid() {
		return openid;
	}

	public void setOpenid(String openid) {
		this.openid = openid;
	}

	public String getIsSubscribe() {
		return isSubscribe;
	}

	public void setIsSubscribe(String isSubscribe) {
		this.isSubscribe = isSubscribe;
	}

	public String getTradeType() {
		return tradeType;
	}

	public void setTradeType(String tradeType) {
		this.tradeType = tradeType;
	}

	public String getBankType() {
		return bankType;
	}

	public void setBankType(String bankType) {
		this.bankType = bankType;
	}

	public int getTotalFee() {
		return totalFee;
	}

	public void setTotalFee(int totalFee) {
		this.totalFee = totalFee;
	}

	public int getSettlementTotalFee() {
		return settlementTotalFee;
	}

	public void setSettlementTotalFee(int settlementTotalFee) {
		this.settlementTotalFee = settlementTotalFee;
	}

	public String getFeeType() {
		return feeType;
	}

	public void setFeeType(String feeType) {
		this.feeType = feeType;
	}

	public int getCashFee() {
		return cashFee;
	}

	public void setCashFee(int cashFee) {
		this.cashFee = cashFee;
	}

	public int getCashFeeType() {
		return cashFeeType;
	}

	public void setCashFeeType(int cashFeeType) {
		this.cashFeeType = cashFeeType;
	}

	public String getTransactionId() {
		return transactionId;
	}

	public void setTransactionId(String transactionId) {
		this.transactionId = transactionId;
	}

	public String getOutTradeNo() {
		return outTradeNo;
	}

	public void setOutTradeNo(String outTradeNo) {
		this.outTradeNo = outTradeNo;
	}

	public String getAttach() {
		return attach;
	}

	public void setAttach(String attach) {
		this.attach = attach;
	}

	public String getTimeEnd() {
		return timeEnd;
	}

	public void setTimeEnd(String timeEnd) {
		this.timeEnd = timeEnd;
	}

	@Override
	public String toString() {
		return "WechatPayNotify{" +
				"appid='" + appid + '\'' +
				", mchId='" + mchId + '\'' +
				", deviceInfo='" + deviceInfo + '\'' +
				", nonceStr='" + nonceStr + '\'' +
				", sign='" + sign + '\'' +
				", signType='" + signType + '\'' +
				", resultCode='" + resultCode + '\'' +
				", errCode='" + errCode + '\'' +
				", errCodeDes='" + errCodeDes + '\'' +
				", openid='" + openid + '\'' +
				", isSubscribe='" + isSubscribe + '\'' +
				", tradeType='" + tradeType + '\'' +
				", bankType='" + bankType + '\'' +
				", totalFee=" + totalFee +
				", settlementTotalFee=" + settlementTotalFee +
				", feeType='" + feeType + '\'' +
				", cashFee=" + cashFee +
				", cashFeeType=" + cashFeeType +
				", transactionId='" + transactionId + '\'' +
				", outTradeNo='" + outTradeNo + '\'' +
				", attach='" + attach + '\'' +
				", timeEnd='" + timeEnd + '\'' +
				'}';
	}
}
